"""
bootstrap样式类 ，
利用类的继续原理，需要使用bootstrap样式的，就来继承此类
"""


class BootStrapForm:
    bootstrap_class_exclude = []

    # 该方法是通过修改内部代码，对样式进行修改，样式的值可根据需求随意修改
    # 重新定义 init 方法
    def __init__(self, *args, **kwargs):
        # 执行 它 父类的 init 方法
        super().__init__(*args, **kwargs)
        # self.fields 类的所有字段
        # self.fields.items() 调用的是字典的 items() 方法。
        # 这个方法会返回一个包含字典中所有（键，值）对的视图对象。
        # 循环ModelForm中的所有字段，给每个字段增加插件设置
        for name, field in self.fields.items():
            # print(name, field)
            if name in self.bootstrap_class_exclude:  # 判断，给某个字段排除
                continue
            # 字段的插件
            field.widget.attrs = {
                # 增加样式
                "class": "form-control",
                # 增加placeholder
                "placeholder": f'请输入{field.label}',
            }


